package la.bbs558.service;

import com.baomidou.mybatisplus.extension.service.IService;
import la.bbs558.entity.BbsPost;
import la.bbs558.entity.BbsReply;
import la.bbs558.entity.vo.BbsPostVO;
import la.bbs558.entity.params.*;

import java.util.List;

/**
 * @author: Shanks
 * @date: 2023/12/15 22:42
 * @desc:
 */
public interface BbsPostService extends IService<BbsPost> {
    void listByPageForAdmin(PostSearchPage searchPage);

    BbsPostVO getPostByIdForAdmin(Long id);

    void removePostByIdForAdmin(Long id);

    List<BbsPost> hots();

    List<BbsPost> news();

    void postList(BbsPostPage page);

    void searchPostByPage(PostSearchPage searchPage);

    BbsPost post(BbsPostParams params);

    void auditForAdmin(BbsPost bbsPost);

    void listByUserId(UserCenterSearchPage<BbsPostVO> searchPage);

    void updateReplyCnt(Long postId);

    void highLightPost(Long id, Integer highLight);

    BbsPostVO getPostDetail(Long postId);

    void topSectionPostList(BbsSectionPostPage page);

    BbsPost sendForAdmin(SendPostForAdminParams params);

    BbsReply sendReplyForAdmin(SendReplyForAdminParams params);

    List<BbsPost> highLights();

    List<BbsPost> tools();
}
